EInvalidPointer

Otázka od: Lenka Donátová

9. 10. 2002 11:08

Mám následující problém:
Vždy po ukončení programu dojde k chybě EInvalidPointer a chyba se ukáže v
unite Classes
v proceduře TList.SetCapacity na řádku kde se provádí příkaz ReallocMem.
Nevíte, prosím někdo
co s tím ? Dělám v Delphi 6.

Odpovedá: Robert Suska

9. 10. 2002 11:00

Ahoj !

A robis take nieco ze Dispose() ???

Ono ked sa to alokuje cez New tak to treba pri ukoncovani aj uvolnit a
spravne uvolnit, najvacsi problem vznika pri dynamickych poliach pointrov
ktore som robil nedavno ale da sa to velmi lahko. Ak chces mozes mi poslat
maly priklad na sukromny mail a pozriem sa Ti na to.

S pozdravom,

************************************
Robert Suska
KORAK SLOVAKIA s.r.o.
Horna 52
974 01 Banska Bystrica
www.korak.sk robert@korak.sk
Network administrator, Delphi programmer
************************************

Mám následující problém:
Vždy po ukončení programu dojde k chybě EInvalidPointer a chyba se ukáže v
unite Classes
v proceduře TList.SetCapacity na řádku kde se provádí příkaz ReallocMem.
Nevíte, prosím někdo
co s tím ? Dělám v Delphi 6.

Odpovedá: Petr Vones

12. 10. 2002 22:01

From: "Lenka Donátová" <lenkad@nemocnice-vs.cz>
> Vždy po ukončení programu dojde k chybě EInvalidPointer a chyba se ukáže v
> unite Classes v proceduře TList.SetCapacity na řádku kde se provádí příkaz
> ReallocMem. Nevíte, prosím někdo co s tím ? Dělám v Delphi 6.

Zjevne jde o nejakou spatnou operaci s ukazateli. Muze byt zpusobena budto
vlastnim kodem nebo pridanymi komponentami. Pri trose stesti lze najit
MemProofem (http://www.automatedqa.com/downloads/memproof.asp) priblizne misto
kde chyba vznika, jinak je treba projit vsechna mista kde se provadeji operace
s TListem apod.

Petr Vones